# Author    :Dun_Hz
# Time      :2024/3/15 8:36
# 递归实现n的全排列
# 如果n为3，则返回[[3,2,1],[2,1,3],[2,3,1],[1,2,3],[1,3,2],[3,1,2]]
import copy


def permutation(n):
    data = []
    if n == 1:
        data.append([1])
    else:
        for i in permutation(n-1):      #data是一个迭代器[[],[],[]]，i取其中的每一个元素[]
            for j in range(len(i)+1):       # +1是为了在最后一个元素后面插入
                k = copy.copy(i)
                k.insert(j,n)
                print(k)
                data.append(k)
                print(data)
    return data

print(permutation(3))